package per.mnxc.excel.tree.annotation;

import cn.hutool.core.date.DatePattern;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelNode {

    @AliasFor("name")
    String[] value() default {};

    @AliasFor("value")
    String[] name() default {};

    int index() default 0;

    String dateFormat() default DatePattern.NORM_DATETIME_PATTERN;

    String defaultValue() default "";

    boolean isTreeLabel() default false;
    
    // 树形缩进
    int indent() default 3;
    // 背景色
    String bgColor() default "#FFFFFF";
    // 字体大小
    short fontSize() default 12;
    // 字体加粗
    boolean bold() default false;
    // 水平位置
    HorizontalAlignment align() default HorizontalAlignment.CENTER_SELECTION;
    // 垂直位置
    VerticalAlignment verticalAlign() default VerticalAlignment.CENTER;
    // 宽度
    int width() default 20;
    // 高度
    int height() default 20;
    // 数据行高
    int dataRowHeight() default 20;
    // 自动换行
    boolean wrapText() default true;

}
